d58b9fa3a66fcc5a36f7302336d7406b9ff80f04,gradebookng/tool/src/java/org/sakaiproject/gradebookng/business/GradebookNgBusinessService.java,GradebookNgBusinessService,saveGrade,#number#String#String#String#String#,433
Before Change
// if percentage entry type, additional formatting, otherwise use points as is
String gradeString = null;
if (gradingType == GbGradingType.PERCENTAGE) {
// the passed in grade represents a percentage so the number needs to be adjusted back to points
final Double percentage = NumberUtils.toDouble(newGrade);
final Double pointsFromPercentage = percentage / maxPoints;
log.debug("pointsFromPercentage: " + pointsFromPercentage);
gradeString = pointsFromPercentage.toString();
} else {
gradeString = newGrade;
}
// trim the .0 from the grades if present. UI removes it so lets standardise
String processedStoredGrade = StringUtils.removeEnd(storedGrade, ".0");
String processedOldGrade = StringUtils.removeEnd(oldGrade, ".0");
String processedNewGrade = StringUtils.removeEnd(gradeString, ".0");
// trim to null so we can better compare against no previous grade being
// recorded (as it will be null)
After Change
// if percentage entry type, reformat the grades, otherwise use points as is
String newGradeAdjusted = newGrade;
String oldGradeAdjusted = oldGrade;
String storedGradeAdjusted = storedGrade;
if (gradingType == GbGradingType.PERCENTAGE) {
// the passed in grades represents a percentage so the number needs to be adjusted back to points
final Double newGradePercentage = NumberUtils.toDouble(newGrade);
final Double newGradePointsFromPercentage = newGradePercentage / maxPoints;
newGradeAdjusted = newGradePointsFromPercentage.toString();
final Double oldGradePercentage = NumberUtils.toDouble(oldGrade);
final Double oldGradePointsFromPercentage = oldGradePercentage / maxPoints;
oldGradeAdjusted = oldGradePointsFromPercentage.toString();
final Double storedGradePercentage = NumberUtils.toDouble(storedGrade);
final Double storedGradePointsFromPercentage = storedGradePercentage / maxPoints;
storedGradeAdjusted = storedGradePointsFromPercentage.toString();
}
// trim the .0 from the grades if present. UI removes it so lets standardise
// trim to null so we can better compare against no previous grade being recorded (as it will be null)
// Note that we also trim newGrade so that don't add the grade if the new grade is blank and there was no grade previously
storedGradeAdjusted = StringUtils.trimToNull(StringUtils.removeEnd(storedGradeAdjusted, ".0"));
oldGradeAdjusted = StringUtils.trimToNull(StringUtils.removeEnd(oldGradeAdjusted, ".0"));
newGradeAdjusted = StringUtils.trimToNull(StringUtils.removeEnd(newGradeAdjusted, ".0"));
if (log.isDebugEnabled()) {